package cn.broadsense.thrid.result;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author: pengxin
 * @create: 2023-09-18 15:26
 * @Version 1.0
 **/
@NoArgsConstructor
@Data
public class NewChannelResult implements Serializable {

    private static final long serialVersionUID = -8007758984549192358L;


    private List<String> notDealOrgCodes;
    private List<AlreadyDealOrgsResult> alreadyDealOrgs;

    @NoArgsConstructor
    @Data
    public static class AlreadyDealOrgsResult implements Serializable{
        private static final long serialVersionUID = 8356403902962324513L;
        private String orgCode;
        private List<DevicesResult> devices = new ArrayList<>();

        @NoArgsConstructor
        @Data
        public static class DevicesResult implements Serializable{
            private static final long serialVersionUID = -4260431190073991835L;
            private String code;
            private String name;
            private String category;
            private String type;
            private String sn;
            private String protocolType;
            private String manufacturer;
            private String deviceIp;
            private String devicePort;
            private String loginType;
            private Integer domainId;
            private String platformCode;
            private List<ChannelsResult> channels;

            @NoArgsConstructor
            @Data
            public static class ChannelsResult implements Serializable{
                private static final long serialVersionUID = 3185527721022752209L;
                private String unitType;
                private String unitSeq;
                private String channelCode;
                private Integer channelSeq;
                private String channelName;
                private String sn;
                private Integer sort;
                private Integer domainId;
                private String platformCode;
                private String gpsX;
                private String gpsY;
                private String cameraType;
                private String channelType;
                private String cameraFunctions;
                private String multicastIp;
                private String multicastPort;
                private String intelliState;
                private String streamType;
            }
        }
    }
}
